package com.pro.framework.api.model;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 默认驼峰
 */
@Data
public class GeneratorDevConfig implements Serializable {

    @Serial
    private static final long serialVersionUID = -6411536850811558900L;
    // 绝对路径
    private String workspace;
    // 文件夹
    private String platformName;

    // 驼峰
    private String platformShortName;
    // 驼峰 首字母大写
    private String platformShortNameUpperFirst;
    
    // 模块名称
    // 驼峰
    private String module;
    // 驼峰 首字母大写
    private String moduleUpperFirst;
    // 横杠
    private String moduleKebabCase;
    // 斜杠
    private String moduleSeparated;
    // 小数点分隔
    private String moduleDotCase;

    public void setModules(String module) {
        this.module = module;
        this.moduleUpperFirst = StrUtil.upperFirst(module);
        this.moduleKebabCase = StrUtil.toUnderlineCase(module).replaceAll("_", "-");
        this.moduleSeparated = StrUtil.toUnderlineCase(module).replaceAll("_", "/");
        this.moduleDotCase = StrUtil.toUnderlineCase(module).replaceAll("_", ".");
    }
}
